Modern word processors enable a user to readily create and insert various types of content (e.g., text, pictures, etc.) in an electronic document. In addition, modern word processors enable a user to conform individual types of content to a variety of formats. For example, text may be inserted in a document in paragraph form or as word fragments with different individual formatting properties (e.g., bold, italic, underline, font color, font size) or with no formatting at all. The freeform entry of content allowed by modern word processors, however, suffers from several drawbacks.
One drawback associated with content entry with many modern word processors is that it is often difficult for a user to readily insert, identify, and manipulate regions of the document or template which require different types of content (e.g., a specific fragment of text or a picture) in a document without either manually typing the content in or scanning another document, finding and manually selecting the location for the desired content, and then creating or moving the desired content from another location in the document to the desired location. Even if a predefined set of document fragments (i.e., content blobs) are available for insertion into the document, the document cannot express which pieces of content are valid in any specific location, other than by including static informational text which the user must read, understand, and voluntarily adhere to. Since conventional word processors do not label the locations where the different types of content (predefined or not) may be inserted in an electronic document, they do not permit a user to quickly identify the locations of interest for the insertion of specific content. In addition, conventional word processors do not easily enable associating data from external data sources with specific formatted content within an electronic document.
It is with respect to these considerations and others that the various embodiments of the present invention have been made.